﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using Clandestine.Graphics;

namespace Clandestine.Graphics.Window
{
    public abstract class WindowHandler : IWindowHandler, IWindowHandlerInternal
    {
    	internal RenderMutex RenderMutex = new RenderMutex();
    
        public abstract object Keyboard { get; }
        public abstract object Mouse { get; }

        public abstract void MakeContextCurrent();
        public abstract void ReleaseContext();
        public abstract void ProcessEvents();
        public abstract void SwapBuffers();
    }
}
